//
//  main.m
//  blockDemo
//
//  Created by zhouxiaobo on 15/10/28.
//  Copyright © 2015年 mapath. All rights reserved.
//

#import <Foundation/Foundation.h>

typedef void (^MyBlock3) (NSString *str1, NSString *str2);

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //1. block的第一种方式
        int (^myBlock1) (int a, int b); //申明一个block
        
        myBlock1 = ^(int a, int b){     //定义block的方法
            NSLog(@"%d", a+b);
            return a+b;
        };
        
        myBlock1(2,7);  //执行block
        
        //2. block的第二种方式
        void (^myBlock2) (NSString *str1, NSString *str2) = ^(NSString *str1, NSString *str2){
            NSLog(@"%@ %@", str1,str2);
        };
        
        myBlock2(@"hello",@"world");  //执行block
        
        //3. block的第三种方式
        MyBlock3 myBlock3 = ^(NSString *str1, NSString *str2){
            NSLog(@"%@ %@", str1,str2);
        };
        
        myBlock3(@"Love",@"Li Jun");

    }
    return 0;
}
